#include<iostream>
#include<pthread.h>
#include<mutex>
#include<functional>


//主从Reactor模型（多reactor）

//server
//socket连接与线程管理
//监听、通信、超时

//buffer缓冲区
/*  1.实现通信套接字的用户态缓冲区
    2.保证接受数据的完整性/发送时的状态
*/
class Buffer
{
public:

private:
};
//socket 对socket进行封装
/*  对套接字的使用更加简洁
*/
class Sock
{

};
//channer 对IO事件进行管理
/*  描述符的监控事件在用户态更容易维护
*/
class Channer
{
public:

private:
};
//connection 对通信连接进行管理
/* 
*/
class Connection
{
public:

private:

};
//accept 对监听套接字进行管理 
/* 当获取了一个socket后，封装一个connection对象进行管理

*/
class Accect
{
public:

private:

};
//TimeqQueue 定时任务模块
/*  对于非活跃连接在一段时间后进行释放
*/
class TimeQueue
{
public:

private:

};
//poller 对任意的描述符进行IO事件监控（对epoll进行封装）
/*  对描述符进行时间监控的操作更加简单
*/
class Poller
{
public:

private:

};
//eventloop 进行事件监控管理模块（reactor）
/*
    每一个connection连接，都会绑定一个EventLoop模块和线程，即
        对于外界连接的所有操作，都要放在同一个线程中进行
*/
class EventLoop
{
public:

private:

};
//TcpServer 对所有模块进行整合，用于搭建一个高性能服务器模块
/*  让使用者可以更加轻松的晚餐一个服务器的搭建
*/ 
class TcpServer
{
public:

private:

};


















